home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1993 July / InfoMagic USENET CD-ROM July 1993.ISO / sources / misc / volume19 / dmake / part23 < prev    next >
Encoding:
Text File  |  1991-05-12  |  40.3 KB  |  1,145 lines

  1. Newsgroups: comp.sources.misc
  2. From: Dennis Vadura <dvadura@watdragon.waterloo.edu>
  3. Subject:  v19i044:  dmake - dmake version 3.7, Part23/37
  4. Message-ID: <1991May12.221342.16252@sparky.IMD.Sterling.COM>
  5. X-Md4-Signature: b3113eb5c45de0a431895992b5d3a2a8
  6. Date: Sun, 12 May 1991 22:13:42 GMT
  7. Approved: kent@sparky.imd.sterling.com
  8.  
  9. Submitted-by: Dennis Vadura <dvadura@watdragon.waterloo.edu>
  10. Posting-number: Volume 19, Issue 44
  11. Archive-name: dmake/part23
  12. Supersedes: dmake-3.6: Volume 15, Issue 52-77
  13.  
  14. ---- Cut Here and feed the following to sh ----
  15. #!/bin/sh
  16. # this is dmake.shar.23 (part 23 of a multipart archive)
  17. # do not concatenate these parts, unpack them in order with /bin/sh
  18. # file dmake/msdos/exec.asm continued
  19. #
  20. if test ! -r _shar_seq_.tmp; then
  21.     echo 'Please unpack part 1 first!'
  22.     exit 1
  23. fi
  24. (read Scheck
  25.  if test "$Scheck" != 23; then
  26.     echo Please unpack part "$Scheck" next!
  27.     exit 1
  28.  else
  29.     exit 0
  30.  fi
  31. ) < _shar_seq_.tmp || exit 1
  32. if test -f _shar_wnt_.tmp; then
  33. sed 's/^X//' << 'SHAR_EOF' >> 'dmake/msdos/exec.asm' &&
  34. X        mov    dx, offset crit_err_handler
  35. X        mov    ax, 02524H        ; set int 24 handler address
  36. X        int    21H
  37. X
  38. ; Go and execute the child, we've set up all of its parameters.  The do_exec
  39. ; routine will attempt to perform a swap of the code if requested to do so by
  40. ; a non-zero value in the variable cs:swap.
  41. X        mov    ah, 051H        ; get the psp
  42. X        int    21H
  43. X        mov    cs:psp, bx
  44. X        call    do_exec
  45. X
  46. ; We're back from the exec, so fix things up the way they were.
  47. ; Restore the old control-break and critical-error handlers.
  48. X        lds    dx, cs:old_ctl_brk
  49. X        mov    ax, 02523H
  50. X        int    21H
  51. X        lds    dx, cs:old_crit_err
  52. X        mov    ax, 02524H
  53. X        int    21H
  54. X
  55. ; Restore previous program stack segment registers, and data segment.
  56. X        mov    ax, cs:old_ss
  57. X        mov    ss, ax            ; mov into ss first, that way
  58. X        mov    sp, cs:old_sp        ; no interrupts in this instr.
  59. X        pop    ds
  60. X
  61. ; Tell the assembler we have swaped segments again.
  62. X        assume    ds:DGROUP,es:DGROUP,ss:DGROUP
  63. X
  64. ; Set the global Interrupted flag so that parent can tell it was interrupted.
  65. X        mov    ax, seg DGROUP:_Interrupted
  66. X        mov    es, ax
  67. X        mov    ax, cs:interrupted
  68. X        mov    es:_Interrupted, ax
  69. X
  70. ; Set the global errno value to reflect the success/failure of the DOS
  71. ; exec call.
  72. X        mov    ax, seg DGROUP:_errno
  73. X        mov    es, ax
  74. X        mov    ax, cs:ex_error
  75. X        mov    es:_errno, ax
  76. X
  77. ; Fetch the child's return code, pop rest of stuff off of the stack
  78. ; and return to the caller.
  79. X        mov    ax, cs:eretcode
  80. X        pop    di
  81. X        pop    si
  82. X        pop    bp
  83. X        ret
  84. _exec endp
  85. X
  86. ; void do_hook_std_writes(int handle);
  87. ;    This saves the 21h interrupt vector and changes it to point
  88. ;    into this code.  Argument is the file handle of the -C file.
  89. X
  90. X    public _do_hook_std_writes
  91. _do_hook_std_writes proc
  92. X            push    bp
  93. X        mov    bp,sp
  94. X        push    di
  95. X
  96. X        mov    di, ss:[a_handle]    ; handle of -C file
  97. X        mov    std_fil_handle, di
  98. X
  99. X        mov    ah, 51h            ; request our PSP
  100. X        int    21h
  101. X        mov    [psp], bx        ; save it
  102. X
  103. X        mov    es, bx
  104. X        les    bx, es:[34h]        ; pointer to job file table
  105. X        mov    al, es:[bx+1]        ; system file # of our stdout
  106. X        mov    [our_stdout], al
  107. X        mov    al, es:[bx+di]        ; system file number of -C file
  108. X        mov    std_fil_number, al
  109. X
  110. X        mov    ax,3521h        ; request vector 21h
  111. X        int    21h            ; it's returned in ES:BX
  112. X        mov    word ptr [real_21h], bx
  113. X        mov    word ptr [real_21h+2], es
  114. X
  115. X        push    ds
  116. X        mov    ax,cs
  117. X        mov    ds,ax
  118. X        lea    dx,our_21h_handler    ; DS:DX is the new vector
  119. X        mov    ax,2521h        ; set vector 21h
  120. X        int    21h
  121. X
  122. X        pop    ds
  123. X        pop    di
  124. X        pop    bp
  125. X        ret
  126. _do_hook_std_writes endp
  127. X
  128. ; void do_unhook_std_writes(void);
  129. ;    This restores the 21h interrupt vector.
  130. ;    The saved vector is zero if it wasn't changed (no -C option).
  131. X
  132. X    public _do_unhook_std_writes
  133. _do_unhook_std_writes proc
  134. X        push    ds
  135. X
  136. X            lds    dx, [real_21h]    ; put saved vector into DS:DX
  137. X        mov    ax, ds
  138. X        or    ax, dx
  139. X        jz    unhook_return    ; zero means we didn't hook 21h
  140. X
  141. X        mov    ax,2521h    ; set vector 21h
  142. X        simulate_21h
  143. X
  144. unhook_return:    pop ds
  145. X        ret
  146. _do_unhook_std_writes endp
  147. end
  148. SHAR_EOF
  149. chmod 0640 dmake/msdos/exec.asm ||
  150. echo 'restore of dmake/msdos/exec.asm failed'
  151. Wc_c="`wc -c < 'dmake/msdos/exec.asm'`"
  152. test 37176 -eq "$Wc_c" ||
  153.     echo 'dmake/msdos/exec.asm: original size 37176, current size' "$Wc_c"
  154. rm -f _shar_wnt_.tmp
  155. fi
  156. # ============= dmake/msdos/exec.h ==============
  157. if test -f 'dmake/msdos/exec.h' -a X"$1" != X"-c"; then
  158.     echo 'x - skipping dmake/msdos/exec.h (File already exists)'
  159.     rm -f _shar_wnt_.tmp
  160. else
  161. > _shar_wnt_.tmp
  162. sed 's/^X//' << 'SHAR_EOF' > 'dmake/msdos/exec.h' &&
  163. #ifndef _EXEC_h_
  164. #define _EXEC_h_
  165. X
  166. #ifndef ANSI
  167. #if defined(__STDC__) || defined(__TURBOC__)
  168. #define ANSI(x) x
  169. #else
  170. #define ANSI(x) ()
  171. #endif
  172. #endif
  173. X
  174. extern int  exec ANSI((int, char far *, char far *, unsigned int, char far *));
  175. X
  176. #ifndef MK_FP
  177. #define MK_FP(seg,ofs) \
  178. X    ((void far *) (((unsigned long)(seg) << 16) | (unsigned)(ofs)))
  179. #endif
  180. X
  181. #endif
  182. SHAR_EOF
  183. chmod 0640 dmake/msdos/exec.h ||
  184. echo 'restore of dmake/msdos/exec.h failed'
  185. Wc_c="`wc -c < 'dmake/msdos/exec.h'`"
  186. test 351 -eq "$Wc_c" ||
  187.     echo 'dmake/msdos/exec.h: original size 351, current size' "$Wc_c"
  188. rm -f _shar_wnt_.tmp
  189. fi
  190. # ============= dmake/msdos/exec.uue ==============
  191. if test -f 'dmake/msdos/exec.uue' -a X"$1" != X"-c"; then
  192.     echo 'x - skipping dmake/msdos/exec.uue (File already exists)'
  193.     rm -f _shar_wnt_.tmp
  194. else
  195. > _shar_wnt_.tmp
  196. sed 's/^X//' << 'SHAR_EOF' > 'dmake/msdos/exec.uue' &&
  197. begin 640 exec.obj
  198. M@!``#DU31$]37&5X96,N87-M;(@?````5'5R8F\@07-S96UB;&5R("!697)S
  199. M:6]N(#(N-;2(%@!`Z4!SIA8.35-$3U-<97AE8RYA<VW&B`,`0.E,E@(``&B(
  200. M`P!`H926$``)15A%0U]415A4!$-/1$5IF`<`2!`(`@,!^Y8,``5?1$%4001$
  201. M051!PI@'`$@"``0%`0V6"``&1$=23U50BYH$``;_`EN,"0`&7V5R<FYO`."0
  202. M$P`!`@Q?26YT97)R=7!T960```!9D!P```$57V1O7W5N:&]O:U]S=&1?=W)I
  203. M=&5S^0<`<I`,```!!5]E>&5CUP8`?9`:```!$U]D;U]H;V]K7W-T9%]W<FET
  204. M97.N!P"DB`0`0*(!D:`&``&8````P:(.``%<`24``0`!`````0#*H@X``8@!
  205. M00`!``$````!`(*@!0`!R0&0`*`(``',`0````"*H.P``=0!97AE8SH@1F%I
  206. M;'5R92!R96%D:6YG(&AE861E<B!B;&]C:PT*)&5X96,Z($9A:6QU<F4@<F5A
  207. M9&EN9R!S96=M96YT(&1A=&$-"B1E>&5C.B!&86EL=7)E(&]N(')E<VEZ90T*
  208. M)&5X96,Z($9A:6QU<F4@=&\@9G)E92!A(&)L;V-K#0HD97AE8SH@4')O9W)A
  209. M;2!S=V%P(&9A:6QU<F4-"B1E>&5C.B!-96UO<GD@8FQO8VMS(&1O;B=T(&UA
  210. M=&-H#0HDD&@&:P:-!FD&;`:S!@,$!P0+!`0$"`0J!`8$"@1@!`4$"012!*N<
  211. M20#$Q%0!Q,94`<3(5`'$RE0!Q,Q4`<3.5`'$T%0!Q-)4`<345`'$UE0!Q-A4
  212. M`<3:5`'$W%0!Q-Y4`<3@5`'$XE0!Q.14`<3F5`%?H`P``<H"7`$``%P!``#-
  213. MG`D`S`!4`<P$5`$5H-`#`=8"``"<@/Q`=0J#^P%T"X/[`G0&G2[_+LP!4%%2
  214. M4U155E<>!HOL+HL^T`&T49PN_Q[,`2X['HP`=&R.PR;%'C0`BW8,B@`N.@;3
  215. M`75CB@$N.@;2`71*N``SG"[_'LP!B_(KTK@!,YPN_Q[,`2Z+'HP`M%"<+O\>
  216. MS`&+WXY>`HM6#K1`G"[_'LP!C,.T4)PN_Q[,`8O6N`$SG"[_'LP!ZQ".7@*+
  217. M5@Z+W[1`G"[_'LP!!Q]?7EV#Q`);6EE8G2[_+LP!@\0&6%M96EY?71\'58OL
  218. MAT8�$`AT8&7;@%`,_X+O\&D@`N@SZ8``!T`?G/NM0!ZQR0NOD!ZQ:0NAX"
  219. MZQ"0NC@"ZPJ0NG4"ZP20NE@"4HL>C@#_E[`"C,B.V%JT"<TAN/],S2'1Z7,!
  220. MI/.EP\/#P\/#P\/#NH$!N0<`BQ[*`;0_S2%S`NNF/0<`=`<+P'0"ZYOYPQXN
  221. MCAZ!`2Z+%H,!+HL.A0$NBQ[*`;0_S2$?<P+K@3L&A0%T`^EX_\.+'LH!,\F+
  222. MT;@`0LTAPXL>R@&T/LTANH@!M$'-(<.+'I8`N`%8S2&+'HX`_Y>V`HX&C`"+
  223. M'H0`M$K-(7,#Z4__BQZ.`/^7I`)R**"'`3P`=.\\`743BQZ%`;1(S2%R!CL&
  224. M@0%TV^DA_XL>C@#_EZH"Z\Z+'HX`_Y>P`L.X`%C-(:.6`(L^C`",RRO?B\=(
  225. MCL`FBS8#`(DVA`"XW071Z-'HT>C1Z`/8*_,#^XD>A@")/H@`L`#H$P%R,:&,
  226. M`$B.P+L:!NC!`'(CH8P`2([`NQ,&Z+,`<P/IJ_Z.!HP`BQZ&`+1*S2%S`^F4
  227. M_L.+'HX`_Y>P`C/`HXX`^<.#/HX``'0(Z'D`<@/H<_^#/I(``'5<H8H`"\!T
  228. M"%".P+1)S2%8H8H`H\0"C,G'!L8"VP")#L@"NIH`CL&[Q`(>B2;4`HP6T@+'
  229. M!M8"``#_!I@`N`!+S2$NCA;2`BZ+)M0"'W,&H]8"ZPF0M$W-(9BCD`"#/HX`
  230. M`'0#Z*G^QP:8````P\<&C@```.B6`,,FBS8#`(S'1R:A`0`N.P:,`'4F+CL^
  231. MB@!T&2X[/HP`=!)75E/_TUM>7W(/)J```#Q:=`8#_H['Z\?XPX['M$G-(<.P
  232. M`5=6,]*+'HX`_Y>8`EY?<CJ#_@!T-8O.@?G_#WX#N?\/4='AT>'1X='A5U:+
  233. M\3/2L`*+'HX`4_^7F`);_Y>>`EY?6G(&`_HK\NO&P\/#P\/#PZ"(`0K`=!>Z
  234. MB`$SR;0\S2%R#*/*`<<&C@`$`.L"D/G#B3Z!`8D6@P&)-H4!HH<!NH$!N0<`
  235. M$)R9`<065`'$)U0!Q"]4`<0T5`'$1U0!Q%!4`<1;5`'$:%0!Q&U4`<1U5`'$
  236. MA50!Q(]4`<2:5`'$K%0!Q+Y4`<3A5`'$YE0!Q.Y4`<3T5`'$^E0!Q0!4`<4&
  237. M5`'%#%0!Q1%4`<455`'%-E0!Q3U4`<585`'%750!Q6)4`<5G5`'%=%0!Q7Y4
  238. M`<6,5`'%DU0!Q9Q4`<6E5`'%J50!Q:U4`<6Q5`'%OE0!Q<)4`<7'5`'%TU0!
  239. MQ=U4`<865`'&/%0!QDI4`<7F5`'%ZE0!Q?!4`<7T5`'%_50!Q@%4`<835`'&
  240. M*%0!QBQ4`<8V5`'&1%0!QE94`<9:5`'&:%0!QFQ4`<9Q5`'&=U0!QH94`<:,
  241. M5`'&FU0!QIY4`<:D5`'&IE0!QJI4`<:M5`'&LE0!QK=4`<:[5`'&OU0!QL54
  242. M`<;/5`'&U%0!QMI4`<;E5`'&Z50!QO-4`<;Z5`''$50!QQA4`<<?5`''3%0!
  243. MQU!4`<=Y5`''?E0!QX-4`<>85`''GU0!QZI4`<>N5`''N50!Q[U4`<?!5`''
  244. MQ%0!Q\=4`1>@<@$!H@:+'LH!M$#-(7(&/0<`=`'YPQXNCAZ!`2Z+%H,!+HL.
  245. MA0$NBQ[*`;1`S2$?<@<[!H4!=`'YPU6+[%97'@X'_(M&!B:CC@"+1A`FHXH`
  246. MOYH`Q78(N4$`Z`']O]L`Q78,N8$`Z/7\OX@!Q782N4$`Z.G\C-`FHX``)HDF
  247. M@@",R([8CM"\@`#'!I(```#'!I````"X(S7-(2Z)'KP"+HP&O@*ZLP.X(R7-
  248. M(;@D-<TA+HD>P`(NC`;"`KJ6`[@D)<TAM%'-(2Z)'HP`Z-_]+L46O`*X(R7-
  249. M(2[%%L`"N"0ES2$NH8``CM`NBR:"`!^X``".P"ZAD@`FHP``N```CL`NH=8"
  250. M)J,``"ZAD`!?7EW+58OL5XM^!BZ)/M`!M%'-(2Z)'HP`CL,FQ!XT`":*1P$N
  251. MHM,!)HH!+J+2`;@A-<TA+HD>S`$NC`;.`1Z,R([8NM@"N"$ES2$?7UW+'B[%
  252. M%LP!C-@+PG0)N"$EG"[_'LP!'\M6G+$`Q`)4`<055`'$&E0!Q!]4`<0D5`'$
  253. M+U0!Q$-4`<1*5`'$350!Q%E4`<1E5`'$=%0!Q'E4`<2"5`'$AE0!Q(Q4`<28
  254. M5`'$G50!Q*!4`<2O5`'$M%0!Q+=4`<3%5`'$S50!Q-=4`<3@5`'$YU0!R.L4
  255. M`0+$\50!Q/44`0+(^!8!`<3^5`'%`A8!`<4&5`'%%E0!Q1]4`<4N5`'%-50!
  256. CQ3]4`<5$5`'%3%0!Q5M4`<5J5`&-H`8``@````!8B@(``'14
  257. `
  258. end
  259. SHAR_EOF
  260. chmod 0640 dmake/msdos/exec.uue ||
  261. echo 'restore of dmake/msdos/exec.uue failed'
  262. Wc_c="`wc -c < 'dmake/msdos/exec.uue'`"
  263. test 3671 -eq "$Wc_c" ||
  264.     echo 'dmake/msdos/exec.uue: original size 3671, current size' "$Wc_c"
  265. rm -f _shar_wnt_.tmp
  266. fi
  267. # ============= dmake/msdos/find.c ==============
  268. if test -f 'dmake/msdos/find.c' -a X"$1" != X"-c"; then
  269.     echo 'x - skipping dmake/msdos/find.c (File already exists)'
  270.     rm -f _shar_wnt_.tmp
  271. else
  272. > _shar_wnt_.tmp
  273. sed 's/^X//' << 'SHAR_EOF' > 'dmake/msdos/find.c' &&
  274. /*
  275. X    Directory Access Library
  276. X
  277. X           FIND.C taken from DIRLIB.C by M. J. Weinstein
  278. X         Released to public domain 1-Jan-89
  279. X
  280. X    The author may be contacted at: 
  281. X    matt@cs.ucla.edu -or- POB 84524, L.A., CA  90073
  282. X
  283. X    Modified by dvadura@watdragon.edu to work with dmake.
  284. X    (nuked the DOS version 2 code, since dmake needs version
  285. X    3.0 or greater to function).
  286. X */
  287. X
  288. X
  289. /*
  290. X * revision history:
  291. X *
  292. X *    VER    MM/DD/YY    COMMENTS
  293. X *    ----    --------    --------
  294. X *    0.99    02/24/86    Beta release to INTERNET
  295. X */
  296. X
  297. #include <stdlib.h>
  298. #include <ctype.h>
  299. #include <errno.h>
  300. #include <string.h>
  301. #include <alloc.h>
  302. #include <dos.h>
  303. #include "dirlib.h"
  304. X
  305. #ifndef MK_FP
  306. #define MK_FP(seg,ofs)    ((void far *) \
  307. X               (((unsigned long)(seg) << 16) | (unsigned)(ofs)))
  308. #endif
  309. #ifndef FP_SEG
  310. #define FP_SEG(fp)    ((unsigned)((unsigned long)(fp) >> 16))
  311. #endif
  312. #ifndef FP_OFF
  313. #define FP_OFF(fp)    ((unsigned)(fp))
  314. #endif
  315. X
  316. int              _err;
  317. static DTA far *_getsetdta ANSI((DTA far *));
  318. X
  319. /*
  320. X * get/set dta address
  321. X */
  322. X
  323. static DTA far *
  324. _getsetdta(newdta)
  325. DTA far *newdta;
  326. {
  327. X    DTA far *olddta;
  328. X    union REGS r;
  329. X    struct SREGS s;
  330. X
  331. X    /* get old dta */         
  332. X    r.h.ah = 0x2f;
  333. X    intdos(&r, &r);
  334. X    segread(&s);
  335. X    olddta = (DTA far *) MK_FP(s.es, r.x.bx);
  336. X
  337. X    /* conditionally set new dta */
  338. X    if (newdta) {
  339. X        r.h.ah = 0x1a;
  340. X        s.ds    = FP_SEG(newdta);
  341. X        r.x.dx    = FP_OFF(newdta);    
  342. X        intdosx(&r, &r, &s);
  343. X    }
  344. X
  345. X    return olddta;
  346. }
  347. X
  348. /*
  349. X * dos findfirst
  350. X */
  351. X
  352. DTA *
  353. findfirst(name, dta)
  354. char *name;
  355. DTA  *dta;
  356. {
  357. X    union REGS r;  
  358. X    struct SREGS s;
  359. X    DTA far *dtasave;
  360. X    char far *nmp = (char far *)name;
  361. X
  362. X    dtasave = _getsetdta((DTA far *)dta);
  363. X    
  364. X    /* do directory lookup */
  365. X    segread(&s);
  366. X    r.h.ah    = 0x4e;
  367. X    r.x.cx    = 0x10;
  368. X    r.x.dx    = FP_OFF(nmp);
  369. X    s.ds    = FP_SEG(nmp);
  370. X    intdosx(&r, &r, &s);
  371. X    /* restore dta */
  372. X    _getsetdta(dtasave);
  373. X    _err = r.x.ax;
  374. X    if (r.x.cflag)
  375. X        return (DTA *) 0;
  376. X
  377. X    return dta;
  378. }
  379. X
  380. /*
  381. X * dos findnext
  382. X */
  383. X
  384. DTA *
  385. findnext(dta)
  386. DTA *dta;
  387. {
  388. X    union REGS r;  
  389. X    DTA far *dtasave;
  390. X
  391. X    dtasave = _getsetdta((DTA far *)dta);
  392. X
  393. X    /* do directory lookup */
  394. X    r.h.ah = 0x4f;
  395. X    intdos(&r, &r);
  396. X    /* restore old dta */
  397. X    _getsetdta(dtasave);
  398. X    _err = r.x.ax;
  399. X    if (r.x.cflag)
  400. X        return (DTA *) 0;
  401. X
  402. X    return dta;
  403. }
  404. SHAR_EOF
  405. chmod 0640 dmake/msdos/find.c ||
  406. echo 'restore of dmake/msdos/find.c failed'
  407. Wc_c="`wc -c < 'dmake/msdos/find.c'`"
  408. test 2140 -eq "$Wc_c" ||
  409.     echo 'dmake/msdos/find.c: original size 2140, current size' "$Wc_c"
  410. rm -f _shar_wnt_.tmp
  411. fi
  412. # ============= dmake/msdos/mscdos/config.h ==============
  413. if test ! -d 'dmake/msdos/mscdos'; then
  414.     mkdir 'dmake/msdos/mscdos'
  415. fi
  416. if test -f 'dmake/msdos/mscdos/config.h' -a X"$1" != X"-c"; then
  417.     echo 'x - skipping dmake/msdos/mscdos/config.h (File already exists)'
  418.     rm -f _shar_wnt_.tmp
  419. else
  420. > _shar_wnt_.tmp
  421. sed 's/^X//' << 'SHAR_EOF' > 'dmake/msdos/mscdos/config.h' &&
  422. /* RCS      -- $Header: /u2/dvadura/src/generic/dmake/src/msdos/mscdos/config.h,v 1.1 91/05/06 15:25:49 dvadura Exp $
  423. -- SYNOPSIS -- Configurarion include file.
  424. -- 
  425. -- DESCRIPTION
  426. --     There is one of these for each specific machine configuration.
  427. --    It can be used to further tweek the machine specific sources
  428. --    so that they compile.
  429. --
  430. -- AUTHOR
  431. --      Dennis Vadura, dvadura@watdragon.uwaterloo.ca
  432. --      CS DEPT, University of Waterloo, Waterloo, Ont., Canada
  433. --
  434. -- COPYRIGHT
  435. --      Copyright (c) 1990 by Dennis Vadura.  All rights reserved.
  436. -- 
  437. --      This program is free software; you can redistribute it and/or
  438. --      modify it under the terms of the GNU General Public License
  439. --      (version 1), as published by the Free Software Foundation, and
  440. --      found in the file 'LICENSE' included with this distribution.
  441. -- 
  442. --      This program is distributed in the hope that it will be useful,
  443. --      but WITHOUT ANY WARRANTY; without even the implied warrant of
  444. --      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  445. --      GNU General Public License for more details.
  446. -- 
  447. --      You should have received a copy of the GNU General Public License
  448. --      along with this program;  if not, write to the Free Software
  449. --      Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  450. --
  451. -- LOG
  452. --     $Log:    config.h,v $
  453. X * Revision 1.1  91/05/06  15:25:49  dvadura
  454. X * dmake Release Version 3.7
  455. X * 
  456. */
  457. X
  458. #if defined (_MSC_VER)
  459. # if _MSC_VER < 500
  460. X    Force a compile-time blowup.
  461. X    Do not define define _MSC_VER for MSC compilers ealier than 5.0.
  462. # endif
  463. #endif
  464. X
  465. /* define this for configurations that don't have the coreleft function
  466. X * so that the code compiles.  To my knowledge coreleft exists only on
  467. X * Turbo C, but it is needed here since the function is used in many debug
  468. X * macros. */
  469. #define coreleft() 0L
  470. X
  471. /* MSC Version 4.0 doesn't understand SIGTERM, later versions do. */
  472. #ifndef SIGTERM
  473. #   define SIGTERM SIGINT
  474. #endif
  475. X
  476. /* Fixes unimplemented line buffering for MSC 5.x and 6.0.
  477. X * MSC _IOLBF is the same as _IOFBF
  478. X */
  479. #if defined(MSDOS) && defined (_MSC_VER)
  480. #   undef  _IOLBF
  481. #   define _IOLBF   _IONBF
  482. #endif
  483. X
  484. /* in alloc.h: size_t is redefined
  485. X * defined in stdio.h which is included by alloc.h
  486. X */
  487. #if defined(MSDOS) && defined (_MSC_VER)
  488. #   define _TYPES_
  489. #endif
  490. X
  491. /* in sysintf.c: SIGQUIT is used, this is not defined in MSC */
  492. #ifndef SIGQUIT
  493. #   define SIGQUIT SIGTERM
  494. #endif
  495. X
  496. #ifndef MSDOS
  497. #   define MSDOS 1
  498. #endif
  499. SHAR_EOF
  500. chmod 0640 dmake/msdos/mscdos/config.h ||
  501. echo 'restore of dmake/msdos/mscdos/config.h failed'
  502. Wc_c="`wc -c < 'dmake/msdos/mscdos/config.h'`"
  503. test 2467 -eq "$Wc_c" ||
  504.     echo 'dmake/msdos/mscdos/config.h: original size 2467, current size' "$Wc_c"
  505. rm -f _shar_wnt_.tmp
  506. fi
  507. # ============= dmake/msdos/mscdos/config.mk ==============
  508. if test -f 'dmake/msdos/mscdos/config.mk' -a X"$1" != X"-c"; then
  509.     echo 'x - skipping dmake/msdos/mscdos/config.mk (File already exists)'
  510.     rm -f _shar_wnt_.tmp
  511. else
  512. > _shar_wnt_.tmp
  513. sed 's/^X//' << 'SHAR_EOF' > 'dmake/msdos/mscdos/config.mk' &&
  514. # This is the MSC 4.0 and higher DOS configuration file for DMAKE
  515. #    It simply modifies the values of SRC, and checks to see if
  516. #    OSENVIRONMENT is defined.  If so it includes the appropriate
  517. #    config.mk file.
  518. #
  519. # It also sets the values of .SOURCE.c and .SOURCE.h to include the local
  520. # directory.
  521. #
  522. osrdir := $(OS)$(DIRSEPSTR)$(OSRELEASE)
  523. X
  524. TMPDIR :=
  525. .EXPORT : TMPDIR
  526. X
  527. # Definition of macros for library, and C startup code.
  528. X
  529. # The following sources are required for MSC
  530. OSR_SRC = tempnam.c
  531. .SETDIR=$(osrdir) : $(OSR_SRC)
  532. X
  533. SRC += $(OSR_SRC)
  534. .SOURCE.h : $(osrdir)
  535. X
  536. # Local configuration modifications for CFLAGS 
  537. # If you have a 286, you can use -G2 or appropriate to get better code, 
  538. # in that case uncomment the line below.  (You can also simply set
  539. # it in the CL environment variable.)
  540. #CFLAGS += -G2
  541. ASFLAGS += -t -mx $(S_$(MODEL))
  542. X
  543. # Redefine this, it isn't needed!
  544. LDTAIL = ;
  545. X
  546. # Debugging libraries
  547. DB_LDFLAGS += /co /li /map
  548. DB_LDLIBS  +=
  549. X
  550. # NO Debug MSC flags:
  551. # Set the environment variable MSC_VER to be one of 4.0, 5.0, 5.1, or 6.0
  552. # to get these by default when you make dmake using 'dmake'.
  553. #
  554. # Setting MSC_VER to one of the above sets the variable _MSC_VER appropriately
  555. # and sets the flags appropriately.
  556. X
  557. .IMPORT .IGNORE : MSC_VER
  558. MSC_VER *= 6.0              # If unset, assume 6.0 by default.
  559. X
  560. .IF $(MSC_VER) == 4.0
  561. X   CFLAGS      += -I$(osrdir) $(C_$(MODEL):s/A/m/)
  562. X   CFLAGS      += -DM_I86=1      # 5.0+ define this automatically
  563. #   CFLAGS      += -D__STDC__=1    # 5.0, 5.1, but not 6.0 do this automatically
  564. X   NDB_CFLAGS  +=
  565. X   DB_CFLAGS   += -Zi
  566. .ELSE
  567. X   DB_CFLAGS   += -Zi
  568. X   CFLAGS      += -I$(osrdir) $(C_$(MODEL))
  569. X   .IF $(MSC_VER) != 6.0
  570. X      # For 5.0 and 5.1, we define _MSC_VER=500 or 510
  571. X      CFLAGS      += -D_MSC_VER=$(MSC_VER:s,.,,)0
  572. X      NDB_CFLAGS  += -Oscl -Gs
  573. X   .ELSE
  574. X      # Microsoft C 6.0 auto defines _MSC_VER=600, but not __STDC__
  575. X      CFLAGS      += -D__STDC__=1 # incredibly not auto done by 6.0
  576. X      NDB_CFLAGS  += -Osecgl -Gs
  577. X
  578. X      # Redefine rule for making our objects, we don't need mv
  579. X      %$O : %.c ;% $(CC) -c $(CFLAGS) -Fo$@ $<
  580. X   .END
  581. X   NDB_LDFLAGS += /exe /packc /batch
  582. X   NDB_LDLIBS  +=
  583. .END
  584. X
  585. # See if we modify anything in the lower levels.
  586. .IF $(OSENVIRONMENT) != $(NULL)
  587. X   .INCLUDE .IGNORE : $(osrdir)$(DIRSEPSTR)$(OSENVIRONMENT)$(DIRSEPSTR)config.mk
  588. .END
  589. X
  590. C_s =
  591. C_m = -AM
  592. C_c = -AC
  593. C_l = -AL
  594. X
  595. S_s = -Dmsmall
  596. S_m = -Dmmedium
  597. S_c = -Dmcompact
  598. S_l = -Dmlarge
  599. SHAR_EOF
  600. chmod 0640 dmake/msdos/mscdos/config.mk ||
  601. echo 'restore of dmake/msdos/mscdos/config.mk failed'
  602. Wc_c="`wc -c < 'dmake/msdos/mscdos/config.mk'`"
  603. test 2419 -eq "$Wc_c" ||
  604.     echo 'dmake/msdos/mscdos/config.mk: original size 2419, current size' "$Wc_c"
  605. rm -f _shar_wnt_.tmp
  606. fi
  607. # ============= dmake/msdos/mscdos/lib.rsp ==============
  608. if test -f 'dmake/msdos/mscdos/lib.rsp' -a X"$1" != X"-c"; then
  609.     echo 'x - skipping dmake/msdos/mscdos/lib.rsp (File already exists)'
  610.     rm -f _shar_wnt_.tmp
  611. else
  612. > _shar_wnt_.tmp
  613. sed 's/^X//' << 'SHAR_EOF' > 'dmake/msdos/mscdos/lib.rsp' &&
  614. X
  615. SHAR_EOF
  616. chmod 0640 dmake/msdos/mscdos/lib.rsp ||
  617. echo 'restore of dmake/msdos/mscdos/lib.rsp failed'
  618. Wc_c="`wc -c < 'dmake/msdos/mscdos/lib.rsp'`"
  619. test 1 -eq "$Wc_c" ||
  620.     echo 'dmake/msdos/mscdos/lib.rsp: original size 1, current size' "$Wc_c"
  621. rm -f _shar_wnt_.tmp
  622. fi
  623. # ============= dmake/msdos/mscdos/libswp.rsp ==============
  624. if test -f 'dmake/msdos/mscdos/libswp.rsp' -a X"$1" != X"-c"; then
  625.     echo 'x - skipping dmake/msdos/mscdos/libswp.rsp (File already exists)'
  626.     rm -f _shar_wnt_.tmp
  627. else
  628. > _shar_wnt_.tmp
  629. sed 's/^X//' << 'SHAR_EOF' > 'dmake/msdos/mscdos/libswp.rsp' &&
  630. X
  631. SHAR_EOF
  632. chmod 0640 dmake/msdos/mscdos/libswp.rsp ||
  633. echo 'restore of dmake/msdos/mscdos/libswp.rsp failed'
  634. Wc_c="`wc -c < 'dmake/msdos/mscdos/libswp.rsp'`"
  635. test 1 -eq "$Wc_c" ||
  636.     echo 'dmake/msdos/mscdos/libswp.rsp: original size 1, current size' "$Wc_c"
  637. rm -f _shar_wnt_.tmp
  638. fi
  639. # ============= dmake/msdos/mscdos/mk40.bat ==============
  640. if test -f 'dmake/msdos/mscdos/mk40.bat' -a X"$1" != X"-c"; then
  641.     echo 'x - skipping dmake/msdos/mscdos/mk40.bat (File already exists)'
  642.     rm -f _shar_wnt_.tmp
  643. else
  644. > _shar_wnt_.tmp
  645. sed 's/^X//' << 'SHAR_EOF' > 'dmake/msdos/mscdos/mk40.bat' &&
  646. md objects
  647. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  infer.c
  648. mv infer.obj objects
  649. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  make.c
  650. mv make.obj objects
  651. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  stat.c
  652. mv stat.obj objects
  653. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  expand.c
  654. mv expand.obj objects
  655. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  dmstring.c
  656. mv dmstring.obj objects
  657. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  hash.c
  658. mv hash.obj objects
  659. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  dag.c
  660. mv dag.obj objects
  661. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  dmake.c
  662. mv dmake.obj objects
  663. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  path.c
  664. mv path.obj objects
  665. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  imacs.c
  666. mv imacs.obj objects
  667. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  sysintf.c
  668. mv sysintf.obj objects
  669. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  parse.c
  670. mv parse.obj objects
  671. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  getinp.c
  672. mv getinp.obj objects
  673. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  quit.c
  674. mv quit.obj objects
  675. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  state.c
  676. mv state.obj objects
  677. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  basename.c
  678. mv basename.obj objects
  679. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  dmdump.c
  680. mv dmdump.obj objects
  681. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  macparse.c
  682. mv macparse.obj objects
  683. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  rulparse.c
  684. mv rulparse.obj objects
  685. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  percent.c
  686. mv percent.obj objects
  687. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  function.c
  688. mv function.obj objects
  689. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  msdos\ruletab.c
  690. mv ruletab.obj objects
  691. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  msdos\dirbrk.c
  692. mv dirbrk.obj objects
  693. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  msdos\runargv.c
  694. mv runargv.obj objects
  695. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  msdos\arlib.c
  696. mv arlib.obj objects
  697. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  msdos\_chdir.c
  698. mv _chdir.obj objects
  699. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  msdos\switchar.c
  700. mv switchar.obj objects
  701. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  msdos\rmprq.c
  702. mv rmprq.obj objects
  703. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  msdos\tee.c
  704. mv tee.obj objects
  705. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  msdos\mscdos\tempnam.c
  706. mv tempnam.obj objects
  707. link @\tmp\mkAAA010474,dmake.exe,NUL.MAP;
  708. copy msdos\mscdos\startup.mk startup.mk
  709. SHAR_EOF
  710. chmod 0640 dmake/msdos/mscdos/mk40.bat ||
  711. echo 'restore of dmake/msdos/mscdos/mk40.bat failed'
  712. Wc_c="`wc -c < 'dmake/msdos/mscdos/mk40.bat'`"
  713. test 2512 -eq "$Wc_c" ||
  714.     echo 'dmake/msdos/mscdos/mk40.bat: original size 2512, current size' "$Wc_c"
  715. rm -f _shar_wnt_.tmp
  716. fi
  717. # ============= dmake/msdos/mscdos/mk40swp.bat ==============
  718. if test -f 'dmake/msdos/mscdos/mk40swp.bat' -a X"$1" != X"-c"; then
  719.     echo 'x - skipping dmake/msdos/mscdos/mk40swp.bat (File already exists)'
  720.     rm -f _shar_wnt_.tmp
  721. else
  722. > _shar_wnt_.tmp
  723. sed 's/^X//' << 'SHAR_EOF' > 'dmake/msdos/mscdos/mk40swp.bat' &&
  724. md objects
  725. masm -t -mx -Dmlarge msdos\exec.asm;
  726. mv exec.obj objects
  727. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  infer.c
  728. mv infer.obj objects
  729. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  make.c
  730. mv make.obj objects
  731. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  stat.c
  732. mv stat.obj objects
  733. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  expand.c
  734. mv expand.obj objects
  735. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  dmstring.c
  736. mv dmstring.obj objects
  737. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  hash.c
  738. mv hash.obj objects
  739. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  dag.c
  740. mv dag.obj objects
  741. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  dmake.c
  742. mv dmake.obj objects
  743. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  path.c
  744. mv path.obj objects
  745. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  imacs.c
  746. mv imacs.obj objects
  747. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  sysintf.c
  748. mv sysintf.obj objects
  749. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  parse.c
  750. mv parse.obj objects
  751. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  getinp.c
  752. mv getinp.obj objects
  753. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  quit.c
  754. mv quit.obj objects
  755. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  state.c
  756. mv state.obj objects
  757. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  basename.c
  758. mv basename.obj objects
  759. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  dmdump.c
  760. mv dmdump.obj objects
  761. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  macparse.c
  762. mv macparse.obj objects
  763. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  rulparse.c
  764. mv rulparse.obj objects
  765. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  percent.c
  766. mv percent.obj objects
  767. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  function.c
  768. mv function.obj objects
  769. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  msdos\ruletab.c
  770. mv ruletab.obj objects
  771. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  msdos\dirbrk.c
  772. mv dirbrk.obj objects
  773. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  msdos\runargv.c
  774. mv runargv.obj objects
  775. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  msdos\arlib.c
  776. mv arlib.obj objects
  777. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  msdos\_chdir.c
  778. mv _chdir.obj objects
  779. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  msdos\switchar.c
  780. mv switchar.obj objects
  781. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  msdos\rmprq.c
  782. mv rmprq.obj objects
  783. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  msdos\find.c
  784. mv find.obj objects
  785. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  msdos\spawn.c
  786. mv spawn.obj objects
  787. cl -c -I. -Imsdos -Imsdos\mscdos -mL -DM_I86=1  msdos\mscdos\tempnam.c
  788. mv tempnam.obj objects
  789. link @\tmp\mkAAA010501,dmake.exe,NUL.MAP;
  790. copy msdos\mscdos\startup.mk startup.mk
  791. SHAR_EOF
  792. chmod 0640 dmake/msdos/mscdos/mk40swp.bat ||
  793. echo 'restore of dmake/msdos/mscdos/mk40swp.bat failed'
  794. Wc_c="`wc -c < 'dmake/msdos/mscdos/mk40swp.bat'`"
  795. test 2654 -eq "$Wc_c" ||
  796.     echo 'dmake/msdos/mscdos/mk40swp.bat: original size 2654, current size' "$Wc_c"
  797. rm -f _shar_wnt_.tmp
  798. fi
  799. # ============= dmake/msdos/mscdos/mk50.bat ==============
  800. if test -f 'dmake/msdos/mscdos/mk50.bat' -a X"$1" != X"-c"; then
  801.     echo 'x - skipping dmake/msdos/mscdos/mk50.bat (File already exists)'
  802.     rm -f _shar_wnt_.tmp
  803. else
  804. > _shar_wnt_.tmp
  805. sed 's/^X//' << 'SHAR_EOF' > 'dmake/msdos/mscdos/mk50.bat' &&
  806. md objects
  807. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs infer.c
  808. mv infer.obj objects
  809. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs make.c
  810. mv make.obj objects
  811. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs stat.c
  812. mv stat.obj objects
  813. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs expand.c
  814. mv expand.obj objects
  815. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs dmstring.c
  816. mv dmstring.obj objects
  817. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs hash.c
  818. mv hash.obj objects
  819. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs dag.c
  820. mv dag.obj objects
  821. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs dmake.c
  822. mv dmake.obj objects
  823. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs path.c
  824. mv path.obj objects
  825. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs imacs.c
  826. mv imacs.obj objects
  827. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs sysintf.c
  828. mv sysintf.obj objects
  829. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs parse.c
  830. mv parse.obj objects
  831. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs getinp.c
  832. mv getinp.obj objects
  833. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs quit.c
  834. mv quit.obj objects
  835. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs state.c
  836. mv state.obj objects
  837. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs basename.c
  838. mv basename.obj objects
  839. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs dmdump.c
  840. mv dmdump.obj objects
  841. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs macparse.c
  842. mv macparse.obj objects
  843. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs rulparse.c
  844. mv rulparse.obj objects
  845. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs percent.c
  846. mv percent.obj objects
  847. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs function.c
  848. mv function.obj objects
  849. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs msdos\ruletab.c
  850. mv ruletab.obj objects
  851. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs msdos\dirbrk.c
  852. mv dirbrk.obj objects
  853. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs msdos\runargv.c
  854. mv runargv.obj objects
  855. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs msdos\arlib.c
  856. mv arlib.obj objects
  857. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs msdos\_chdir.c
  858. mv _chdir.obj objects
  859. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs msdos\switchar.c
  860. mv switchar.obj objects
  861. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs msdos\rmprq.c
  862. mv rmprq.obj objects
  863. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs msdos\tee.c
  864. mv tee.obj objects
  865. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs msdos\mscdos\tempnam.c
  866. mv tempnam.obj objects
  867. link @\tmp\mkAAA010527,dmake.exe,NUL.MAP;
  868. copy msdos\mscdos\startup.mk startup.mk
  869. SHAR_EOF
  870. chmod 0640 dmake/msdos/mscdos/mk50.bat ||
  871. echo 'restore of dmake/msdos/mscdos/mk50.bat failed'
  872. Wc_c="`wc -c < 'dmake/msdos/mscdos/mk50.bat'`"
  873. test 2932 -eq "$Wc_c" ||
  874.     echo 'dmake/msdos/mscdos/mk50.bat: original size 2932, current size' "$Wc_c"
  875. rm -f _shar_wnt_.tmp
  876. fi
  877. # ============= dmake/msdos/mscdos/mk50swp.bat ==============
  878. if test -f 'dmake/msdos/mscdos/mk50swp.bat' -a X"$1" != X"-c"; then
  879.     echo 'x - skipping dmake/msdos/mscdos/mk50swp.bat (File already exists)'
  880.     rm -f _shar_wnt_.tmp
  881. else
  882. > _shar_wnt_.tmp
  883. sed 's/^X//' << 'SHAR_EOF' > 'dmake/msdos/mscdos/mk50swp.bat' &&
  884. md objects
  885. masm -t -mx -Dmlarge msdos\exec.asm;
  886. mv exec.obj objects
  887. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs infer.c
  888. mv infer.obj objects
  889. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs make.c
  890. mv make.obj objects
  891. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs stat.c
  892. mv stat.obj objects
  893. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs expand.c
  894. mv expand.obj objects
  895. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs dmstring.c
  896. mv dmstring.obj objects
  897. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs hash.c
  898. mv hash.obj objects
  899. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs dag.c
  900. mv dag.obj objects
  901. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs dmake.c
  902. mv dmake.obj objects
  903. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs path.c
  904. mv path.obj objects
  905. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs imacs.c
  906. mv imacs.obj objects
  907. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs sysintf.c
  908. mv sysintf.obj objects
  909. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs parse.c
  910. mv parse.obj objects
  911. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs getinp.c
  912. mv getinp.obj objects
  913. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs quit.c
  914. mv quit.obj objects
  915. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs state.c
  916. mv state.obj objects
  917. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs basename.c
  918. mv basename.obj objects
  919. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs dmdump.c
  920. mv dmdump.obj objects
  921. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs macparse.c
  922. mv macparse.obj objects
  923. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs rulparse.c
  924. mv rulparse.obj objects
  925. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs percent.c
  926. mv percent.obj objects
  927. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs function.c
  928. mv function.obj objects
  929. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs msdos\ruletab.c
  930. mv ruletab.obj objects
  931. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs msdos\dirbrk.c
  932. mv dirbrk.obj objects
  933. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs msdos\runargv.c
  934. mv runargv.obj objects
  935. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs msdos\arlib.c
  936. mv arlib.obj objects
  937. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs msdos\_chdir.c
  938. mv _chdir.obj objects
  939. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs msdos\switchar.c
  940. mv switchar.obj objects
  941. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs msdos\rmprq.c
  942. mv rmprq.obj objects
  943. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs msdos\find.c
  944. mv find.obj objects
  945. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs msdos\spawn.c
  946. mv spawn.obj objects
  947. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=500 -Oscl -Gs msdos\mscdos\tempnam.c
  948. mv tempnam.obj objects
  949. link @\tmp\mkAAA010551,dmake.exe,NUL.MAP;
  950. copy msdos\mscdos\startup.mk startup.mk
  951. SHAR_EOF
  952. chmod 0640 dmake/msdos/mscdos/mk50swp.bat ||
  953. echo 'restore of dmake/msdos/mscdos/mk50swp.bat failed'
  954. Wc_c="`wc -c < 'dmake/msdos/mscdos/mk50swp.bat'`"
  955. test 3088 -eq "$Wc_c" ||
  956.     echo 'dmake/msdos/mscdos/mk50swp.bat: original size 3088, current size' "$Wc_c"
  957. rm -f _shar_wnt_.tmp
  958. fi
  959. # ============= dmake/msdos/mscdos/mk51.bat ==============
  960. if test -f 'dmake/msdos/mscdos/mk51.bat' -a X"$1" != X"-c"; then
  961.     echo 'x - skipping dmake/msdos/mscdos/mk51.bat (File already exists)'
  962.     rm -f _shar_wnt_.tmp
  963. else
  964. > _shar_wnt_.tmp
  965. sed 's/^X//' << 'SHAR_EOF' > 'dmake/msdos/mscdos/mk51.bat' &&
  966. md objects
  967. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs infer.c
  968. mv infer.obj objects
  969. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs make.c
  970. mv make.obj objects
  971. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs stat.c
  972. mv stat.obj objects
  973. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs expand.c
  974. mv expand.obj objects
  975. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs dmstring.c
  976. mv dmstring.obj objects
  977. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs hash.c
  978. mv hash.obj objects
  979. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs dag.c
  980. mv dag.obj objects
  981. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs dmake.c
  982. mv dmake.obj objects
  983. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs path.c
  984. mv path.obj objects
  985. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs imacs.c
  986. mv imacs.obj objects
  987. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs sysintf.c
  988. mv sysintf.obj objects
  989. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs parse.c
  990. mv parse.obj objects
  991. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs getinp.c
  992. mv getinp.obj objects
  993. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs quit.c
  994. mv quit.obj objects
  995. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs state.c
  996. mv state.obj objects
  997. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs basename.c
  998. mv basename.obj objects
  999. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs dmdump.c
  1000. mv dmdump.obj objects
  1001. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs macparse.c
  1002. mv macparse.obj objects
  1003. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs rulparse.c
  1004. mv rulparse.obj objects
  1005. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs percent.c
  1006. mv percent.obj objects
  1007. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs function.c
  1008. mv function.obj objects
  1009. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs msdos\ruletab.c
  1010. mv ruletab.obj objects
  1011. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs msdos\dirbrk.c
  1012. mv dirbrk.obj objects
  1013. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs msdos\runargv.c
  1014. mv runargv.obj objects
  1015. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs msdos\arlib.c
  1016. mv arlib.obj objects
  1017. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs msdos\_chdir.c
  1018. mv _chdir.obj objects
  1019. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs msdos\switchar.c
  1020. mv switchar.obj objects
  1021. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs msdos\rmprq.c
  1022. mv rmprq.obj objects
  1023. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs msdos\tee.c
  1024. mv tee.obj objects
  1025. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs msdos\mscdos\tempnam.c
  1026. mv tempnam.obj objects
  1027. link @\tmp\mkAAA010608,dmake.exe,NUL.MAP;
  1028. copy msdos\mscdos\startup.mk startup.mk
  1029. SHAR_EOF
  1030. chmod 0640 dmake/msdos/mscdos/mk51.bat ||
  1031. echo 'restore of dmake/msdos/mscdos/mk51.bat failed'
  1032. Wc_c="`wc -c < 'dmake/msdos/mscdos/mk51.bat'`"
  1033. test 2932 -eq "$Wc_c" ||
  1034.     echo 'dmake/msdos/mscdos/mk51.bat: original size 2932, current size' "$Wc_c"
  1035. rm -f _shar_wnt_.tmp
  1036. fi
  1037. # ============= dmake/msdos/mscdos/mk51swp.bat ==============
  1038. if test -f 'dmake/msdos/mscdos/mk51swp.bat' -a X"$1" != X"-c"; then
  1039.     echo 'x - skipping dmake/msdos/mscdos/mk51swp.bat (File already exists)'
  1040.     rm -f _shar_wnt_.tmp
  1041. else
  1042. > _shar_wnt_.tmp
  1043. sed 's/^X//' << 'SHAR_EOF' > 'dmake/msdos/mscdos/mk51swp.bat' &&
  1044. md objects
  1045. masm -t -mx -Dmlarge msdos\exec.asm;
  1046. mv exec.obj objects
  1047. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs infer.c
  1048. mv infer.obj objects
  1049. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs make.c
  1050. mv make.obj objects
  1051. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs stat.c
  1052. mv stat.obj objects
  1053. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs expand.c
  1054. mv expand.obj objects
  1055. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs dmstring.c
  1056. mv dmstring.obj objects
  1057. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs hash.c
  1058. mv hash.obj objects
  1059. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs dag.c
  1060. mv dag.obj objects
  1061. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs dmake.c
  1062. mv dmake.obj objects
  1063. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs path.c
  1064. mv path.obj objects
  1065. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs imacs.c
  1066. mv imacs.obj objects
  1067. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs sysintf.c
  1068. mv sysintf.obj objects
  1069. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs parse.c
  1070. mv parse.obj objects
  1071. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs getinp.c
  1072. mv getinp.obj objects
  1073. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs quit.c
  1074. mv quit.obj objects
  1075. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs state.c
  1076. mv state.obj objects
  1077. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs basename.c
  1078. mv basename.obj objects
  1079. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs dmdump.c
  1080. mv dmdump.obj objects
  1081. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs macparse.c
  1082. mv macparse.obj objects
  1083. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs rulparse.c
  1084. mv rulparse.obj objects
  1085. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs percent.c
  1086. mv percent.obj objects
  1087. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs function.c
  1088. mv function.obj objects
  1089. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs msdos\ruletab.c
  1090. mv ruletab.obj objects
  1091. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs msdos\dirbrk.c
  1092. mv dirbrk.obj objects
  1093. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs msdos\runargv.c
  1094. mv runargv.obj objects
  1095. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs msdos\arlib.c
  1096. mv arlib.obj objects
  1097. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs msdos\_chdir.c
  1098. mv _chdir.obj objects
  1099. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs msdos\switchar.c
  1100. mv switchar.obj objects
  1101. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs msdos\rmprq.c
  1102. mv rmprq.obj objects
  1103. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs msdos\find.c
  1104. mv find.obj objects
  1105. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs msdos\spawn.c
  1106. mv spawn.obj objects
  1107. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D_MSC_VER=510 -Oscl -Gs msdos\mscdos\tempnam.c
  1108. mv tempnam.obj objects
  1109. link @\tmp\mkAAA010641,dmake.exe,NUL.MAP;
  1110. copy msdos\mscdos\startup.mk startup.mk
  1111. SHAR_EOF
  1112. chmod 0640 dmake/msdos/mscdos/mk51swp.bat ||
  1113. echo 'restore of dmake/msdos/mscdos/mk51swp.bat failed'
  1114. Wc_c="`wc -c < 'dmake/msdos/mscdos/mk51swp.bat'`"
  1115. test 3088 -eq "$Wc_c" ||
  1116.     echo 'dmake/msdos/mscdos/mk51swp.bat: original size 3088, current size' "$Wc_c"
  1117. rm -f _shar_wnt_.tmp
  1118. fi
  1119. # ============= dmake/msdos/mscdos/mk60.bat ==============
  1120. if test -f 'dmake/msdos/mscdos/mk60.bat' -a X"$1" != X"-c"; then
  1121.     echo 'x - skipping dmake/msdos/mscdos/mk60.bat (File already exists)'
  1122.     rm -f _shar_wnt_.tmp
  1123. else
  1124. > _shar_wnt_.tmp
  1125. sed 's/^X//' << 'SHAR_EOF' > 'dmake/msdos/mscdos/mk60.bat' &&
  1126. md objects
  1127. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D__STDC__=1 -Osecgl -Gs -Foobjects\infer.obj infer.c
  1128. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D__STDC__=1 -Osecgl -Gs -Foobjects\make.obj make.c
  1129. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D__STDC__=1 -Osecgl -Gs -Foobjects\stat.obj stat.c
  1130. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D__STDC__=1 -Osecgl -Gs -Foobjects\expand.obj expand.c
  1131. cl -c -I. -Imsdos -Imsdos\mscdos -AL -D__STDC__=1 -Osecgl -Gs -Foobjects\dmstring.obj dmstring.c
  1132. SHAR_EOF
  1133. true || echo 'restore of dmake/msdos/mscdos/mk60.bat failed'
  1134. fi
  1135. echo 'End of part 23, continue with part 24'
  1136. echo 24 > _shar_seq_.tmp
  1137. exit 0
  1138.  
  1139. exit 0 # Just in case...
  1140. -- 
  1141. Kent Landfield                   INTERNET: kent@sparky.IMD.Sterling.COM
  1142. Sterling Software, IMD           UUCP:     uunet!sparky!kent
  1143. Phone:    (402) 291-8300         FAX:      (402) 291-4362
  1144. Please send comp.sources.misc-related mail to kent@uunet.uu.net.
  1145.